<template name="calculate">
	<view class="calculate">
		<!-- 减 -->
		<view class="sub fn" @click="minus">-</view>
		<!-- 数量 -->
		<view class="num">{{value}}</view>
		<!-- 增加 -->
		<view class="add fn" @click="plus">+</view>
	</view>
</template>
<script>
	/*
	 * value			需要前操作的数量 一般为1
	 * step			阈值、跨度 一般为1
	 */

	export default {
		name: "calculate",
		// 接受传入的值
		props: {
			// 值
			value: {
				type: Number,
				default: 1,
			},

			// 阈值
			step: {
				type: Number,
				default: 1,
			},
		},

		// 页面变量
		data() {
			return {
			};
		},

		// 方法集
		methods: {
			// 减
			minus() {
				// 赋值this
				var that = this;

				// 判断小于2
				if (that.value <= 1) {
					// 弹窗提示
					that.alert('数量不可小于1');
					return;
				}

				// 减少
				that.$emit('input', that.value - that.step);

				// 触发父组件改变值
				that.$emit('change', 2);
			},

			// 加
			plus() {
				// 赋值this
				var that = this;

				// 增加
				that.$emit('input', that.value + that.step);

				// 触发父组件改变值
				that.$emit('change', 1);
			},
		},
	}
</script>
<style lang="less">
	.calculate {
		display: flex;
		text-align: center;

		// 内容盒子
		&>view {
			height: 60rpx;
			line-height: 60rpx;
			background-color: #F9F9F9;
		}

		// 操作
		.fn {
			width: 60rpx;
			font-size: 44rpx;
		}

		// 数量
		.num {
			width: 100rpx;
			margin: 0 10rpx;
			font-size: 28rpx;
		}
	}
</style>
